package com.ybu.oodd.service;

import com.ybu.oodd.myenum.ErrorType;
import com.ybu.oodd.pojo.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface UserService {
    /*
     * 用户登录
     * */
    Result login(UserLogin userLogin);

    /*
     * 获取验证码请求
     * */
    ErrorType getCode(UserLogin userLogin);

    /*
     * 用户注册
     * */
    ErrorType register(UserLogin userLogin);

    /*
     * 修改密码
     * */
    ErrorType updatePassword(UserLogin userLogin);

    /*
     * 修改密码时，获取验证
     * */
    ErrorType updatePasswordGetCode(UserLogin userLogin);

    /*
     * 查询用户信息
     * */
    User getUserInfo();

    /*
     * VIP校验
     * */
    List<Integer> getVipUserId();

    /*
     * 免费查询次数>0 用户集合
     * */
    List<Map<Integer,Integer>> getFreeUserId();

    /*
     * 扣减免费查询次数
     * */
    void downFreeNum(Integer userId);

    /*
     * 用户添加问题
     * */
    void saveUserProblem(Problem problem);

    /*
     * 用户查询问题
     * */
    List<Problem> getUserProblem();

    /*
     * 用户修改问题
     * */
    void updateUserProblem(Problem problem);

    /*
     * 用户删除问题
     * */
    void deleteUserProblem(Integer id);

    /*
     * 用户上传文件
     * */
    Pictures upload(MultipartFile file) throws Exception;

    /*
     * 根据id和user_id 查询url
     * */
    List<Pictures> getPictureUrl(List<Integer> ids);
}
